--[[
描述 ： 编辑框视图类
作者 ： 付大志
修改 ： qt- jwg
时间 ： 14/12/01
]] 

--编辑框编辑完成  事件监听函数
function qt_event_edit_action(hashcode)
	if qtEvent[hashcode]~=nil then
		if qtEvent[hashcode].onEditDone ~=nil then
			qtEvent[hashcode].onEditDone();
		end
	end
end
--编辑框编辑 事件监听函数
function qt_event_edit_change(hashcode, text)
	if qtEvent[hashcode]~=nil then
		if qtEvent[hashcode].onEditChange ~=nil then
			qtEvent[hashcode].onEditChange(text);
		end
	end
end



MLEditView = Class(MLView,'MLEditView');

MLEditView.mEditView=nil;

MLEditView.InputNumber=0;       -- 数字
MLEditView.InputDotNum=3;	   -- 小数点数字
MLEditView.InputNumAndChar=5;   -- 数字字母
MLEditView.InputAscii=1;		   -- 字母
MLEditView.InputIDCart=4;      -- 身份证
MLEditView.InputMail=6;         -- 邮箱
MLEditView.InputAll=2;	   -- 全键盘       
  -- 输入类型
MLEditView.ALIGN_H_LEFT=2;       -- 左对齐
MLEditView.ALIGN_H_CENTER=1;	    -- 中间
MLEditView.ALIGN_H_RIGHT=0;      -- 右对齐 
 

--[[
功能   ： 初始化 编辑框 
参数   ： w  视图宽度 h  视图高度 isMultiLine   是否是多行编辑框
返回   ： 编辑框  
]] 
    function MLEditView:initEdit(w, h, isMultiLine, viewCtrl, id)
		
	    w  = w or 0;
	    h =  h or 0;
	    if isMultiLine == nil then isMultiLine = false end
	    self.isMultiLine =  isMultiLine;
 
		self:initView(w, h, viewCtrl, id);
	    self.mEditView  = MLInputBoxView:new(w,h,isMultiLine);
	    self.mInstance:groupAddChildEidt(self.mEditView , 1, 0, 0); 
	    self.mHashcode = self.mEditView:editGetHashcode();
	    qtEvent[self.mHashcode] = self; 
		return self
     end 

 
--[[
功能   ： 设置文编辑框本 
参数： string text   文本内容
返回   ： 无  
]] 
    function MLEditView:setText(text)
	    if not text  then  print('Warning: MLEditView:setText(),argument 1 is nil! ') return end
	if text == nil then return end 
		self.mEditView:editSetTxt(tostring(text or ''))
	end

--[[
功能   ： 得到编辑框文本 
参数   ： 无
返回   ： 编辑框 文本  
]]
    function MLEditView:getText()
		return self.mEditView:editGetTxt()
	end

--[[
功能   ： 设置文本字体高度 
参数   ： number height   字体高度
返回   ： 无  
]]
    function MLEditView:setFontSize( height)
		if height==nil then print('Warning:MLEditView:setFontSize(), agrument 1 is nil'); return end
    	if type(height) ~= 'number'  then print('Warning:MLEditView:setFontSize(), argument 1, type is not numer!'); return  end 
			self.mEditView:editSetFontSize(height)
	end

--[[
功能   ： 设置成密码模式 
参数   ： 无
返回   ： 无  
]] 
    function MLEditView:setPasswordMode() 
		self.mEditView:editSetPassword(true)
	end

--[[
功能   ： 设置提示文本 
参数   ： text   提示文本
返回   ： 无  
]]  
    function MLEditView:setHint(text)
 		if not text  then  print('Warning: MLEditView:setHint(),argument 1 is nil! ') return end
  	    if type(text) ~= 'string'  then print('Warning:MLEditView:setHint(),argument 1,type is not string!') return end
		self.mEditView:editSetHint(text);
	end

--[[
功能   ： 设置文本最大长度 
参数： number len   最大长度
返回   ： 无  
]]  
    function MLEditView:setMaxLength( len)
	     if len==nil then print('Warning:MLEditView:setMaxLength(), agrument 1 is nil'); return end
         if type(len) ~= 'number'  then print('Warning:MLEditView:setMaxLength(), argument 1, type is not numer!'); return  end 
		 self.mEditView:editSetMaxLength(len); 
	end

--[[
功能   ： 设置输入类型 
参数   ： inputType   类型
返回   ： 传入参数  Edit.InputNumber Edit.InputAscii  ... 
]]  
    function MLEditView:setInputType( inputType)
	   if inputType==nil then print('Warning:MLEditView:setInputType(), agrument 1 is nil'); return end
       if type(inputType) ~= 'number'  then print('Warning:MLEditView:setInputType(), argument 1, type is not numer!'); return  end 

		 self.mEditView:editSetInputType(inputType); 
	end
 
--[[
功能   ： 设置对齐方式 
参数：   number h_align   横向对齐方式
参数：  number v_align   纵向对齐方式
返回： 无
注解： 传入参数  Edit.ALIGN_H_LEFT Edit.ALIGN_V_LEFT  ...
注解： 单行编辑框v_align 无效 多行 h_align 无效
]] 
    function MLEditView:setAlign( h_align,  v_align)
	    local h_align = h_align  or  MLEditView.ALIGN_H_CENTER ;
	    local v_align = v_align or  MLEditView.ALIGN_V_LEFT;

	    if h_align==nil then print('Warning:MLEditView:setAlign(), agrument 1 is nil'); return end
	    if type(h_align) ~= 'number'  then print('Warning:MLEditView:setAlign(), argument 1, type is not numer!'); return  end 

	    if v_align==nil then print('Warning:MLEditView:setAlign(), agrument 2 is nil'); return end
	    if type(v_align) ~= 'number'  then print('Warning:MLEditView:setAlign(), argument 2, type is not numer!'); return  end 
		
		self.mEditView:editSetAlign(h_align,v_align);
    end

 --[[
功能   ： 设置聚焦
参数   ： 无
返回   ： 无
]] 
     function MLEditView:setFocuse() 
		--self.mEditView:editSetFocuse();
    end
 --[[
功能   ： 设置激活类型， 键盘回车类型0 是‘完成’ 1是 ‘下一个’
参数   ： 无
返回   ： 无
]] 
    function MLEditView:setActionType( type)
	    if type==nil then print('Warning:MLEditView:setActionType(), agrument 1 is nil'); return end
	    if type(type) ~= 'number'  then print('Warning:MLEditView:setActionType(), argument 1, type is not numer!'); return  end 
		--self.mEditView:editSetActionType(type);
    end





function MLEditView:onCallBack(resultCode,arg) 
	print('MLEditView:onCallBack',resultCode,arg);
    if resultCode ==  0 then
    	if self~=nil then
			if self.onEditDone ~=nil then
				self.onEditDone();
			end
		end 
	elseif resultCode ==1 then
		if self~=nil then 
			if self.onEditChange ~=nil then 
				self.onEditChange(arg);
			end
		end

	end 
end